package com.ruoyi.training.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 证书模板对象 certificate_template
 * 
 * @author hcc
 * @date 2025-11-06
 */
public class CertificateTemplate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 模板id */
    private String certificateTemplateId;

    /** 模板名称 */
    @Excel(name = "模板名称")
    private String certificateTemplateName;

    /** 培训项目Id */
    @Excel(name = "培训项目Id")
    private String trainingProjectId;

    /** 培训项目名称 */
    @Excel(name = "培训项目名称")
    private String trainingProjectName;

    /** 背景图URL */
    @Excel(name = "背景图URL")
    private String backgroundUrl;

    /** 模板描述 */
    @Excel(name = "模板描述")
    private String description;

    /** 是否删除(0:否,1:是) */
    private String delFlag;

    /** 创建人 */
    private String createdBy;

    /** 更新人 */
    private String updatedBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    /** 创建开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createStartTime;

    /** 创建结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createEndTime;

    /** 系统字段Id数组 */
    private String[] systemFieldIds;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedTime;

    /** $column.columnComment */
    private String exampleOne;

    /** $column.columnComment */
    private String exampleTwo;

    /** $column.columnComment */
    private String exampleThree;

    private List<CertificateField> certificateFieldList;

    public List<CertificateField> getCertificateFieldList() {
        return certificateFieldList;
    }

    public void setCertificateFieldList(List<CertificateField> certificateFieldList) {
        this.certificateFieldList = certificateFieldList;
    }

    public Date getCreateStartTime() {
        return createStartTime;
    }

    public void setCreateStartTime(Date createStartTime) {
        this.createStartTime = createStartTime;
    }

    public Date getCreateEndTime() {
        return createEndTime;
    }

    public void setCreateEndTime(Date createEndTime) {
        this.createEndTime = createEndTime;
    }

    public String[] getSystemFieldIds() {
        return systemFieldIds;
    }

    public void setSystemFieldIds(String[] systemFieldIds) {
        this.systemFieldIds = systemFieldIds;
    }

    public void setCertificateTemplateId(String certificateTemplateId)
    {
        this.certificateTemplateId = certificateTemplateId;
    }

    public String getCertificateTemplateId() 
    {
        return certificateTemplateId;
    }

    public void setCertificateTemplateName(String certificateTemplateName)
    {
        this.certificateTemplateName = certificateTemplateName;
    }

    public String getCertificateTemplateName()
    {
        return certificateTemplateName;
    }

    public void setTrainingProjectId(String trainingProjectId) 
    {
        this.trainingProjectId = trainingProjectId;
    }

    public String getTrainingProjectId() 
    {
        return trainingProjectId;
    }

    public void setTrainingProjectName(String trainingProjectName) 
    {
        this.trainingProjectName = trainingProjectName;
    }

    public String getTrainingProjectName() 
    {
        return trainingProjectName;
    }

    public void setBackgroundUrl(String backgroundUrl) 
    {
        this.backgroundUrl = backgroundUrl;
    }

    public String getBackgroundUrl() 
    {
        return backgroundUrl;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }

    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    public void setExampleOne(String exampleOne) 
    {
        this.exampleOne = exampleOne;
    }

    public String getExampleOne() 
    {
        return exampleOne;
    }

    public void setExampleTwo(String exampleTwo) 
    {
        this.exampleTwo = exampleTwo;
    }

    public String getExampleTwo() 
    {
        return exampleTwo;
    }

    public void setExampleThree(String exampleThree) 
    {
        this.exampleThree = exampleThree;
    }

    public String getExampleThree() 
    {
        return exampleThree;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("certificateTemplateId", getCertificateTemplateId())
            .append("certificateTemplateName", getCertificateTemplateName())
            .append("trainingProjectId", getTrainingProjectId())
            .append("trainingProjectName", getTrainingProjectName())
            .append("backgroundUrl", getBackgroundUrl())
            .append("description", getDescription())
            .append("delFlag", getDelFlag())
            .append("createdBy", getCreatedBy())
            .append("updatedBy", getUpdatedBy())
            .append("createdTime", getCreatedTime())
            .append("createStartTime", getCreateStartTime())
            .append("createEndTime", getCreateEndTime())
            .append("systemFieldIds", getSystemFieldIds())
            .append("updatedTime", getUpdatedTime())
            .append("exampleOne", getExampleOne())
            .append("exampleTwo", getExampleTwo())
            .append("exampleThree", getExampleThree())
            .append("certificateFieldList", getCertificateFieldList())
            .toString();
    }
}
